Chomu's Blog.

>

Posts

GitHub

[포스코x코딩온] 웹 풀스택 과정 7기 5주차 금요일 회고

목차

MVC 모델

MVC 모델은 Model, View, Controller의 약자이다.
프로그램을 구성하는 요소들을 세 가지 역할로 구분한 개발 방법론이다.

DB - express 연결

DB 새로운 사용자 만들기

root 계정은 외부에서 접속이 불가능하다. 따라서 DB를 외부에서 사용하기 위해서는 root 계정이 아닌 새로운 계정으로 접속해야한다.

USE mysql; -- mysql DB 선택
CREATE USER '<사용자 이름>'@'%' IDENTIFIED BY '<사용자 비밀번호>'; -- 사용자 계정 생성
ALTER USER '<사용자 이름>'@'%' IDENTIFIED WITH mysql_native_password BY '<사용자 비밀번호>'; -- 비밀번호 암호화
GRANT ALL PRIVILEGES ON *.* TO '<사용자 이름>'@'%' WITH GRANT OPTION; -- 사용자 권한 추가(모든 DB, 모든 테이블)
FLUSH PRIVILEGES; -- 변경 적용

mysql 모듈 설치

먼저 mysql 모듈을 설치해야 한다.
강의에서는 mysql 모듈을 사용했지만 해당 모듈은 콜백 방식으로 비동기를 처리한다.
나는 async - await 방식으로 사용하고 싶어서 mysql2 모듈을 사용했다.

npm i mysql2

DB 연결

async function connectDB(query) {
  const conn = await mysql.createConnection({
    host: "<호스트 주소>",
    user: "<사용자 이름>",
    password: "<사용자 비밀번호>",
    database: "<DB 이름>",
  });
 
  let result = await conn.query(query);
  return result
}

DB 쿼리 요청

const readQuery = "SELECT * FROM <테이블 이름>";
const readResult = await connectDB(readQuery); // table의 모든 데이터를 가져온다.
const createQuery = "INSERT INTO <테이블 이름> VALUES (<추가할 데이터>)";
const createResult = await connectDB(createQuery); // table에 데이터를 추가한다.
const updateQuery = "UPDATE <테이블 이름> SET <변경할 데이터> WHERE <조건>";
const updateResult = await connectDB(updateQuery); // table의 데이터를 변경한다.
const deleteQuery = "DELETE FROM <테이블 이름> WHERE <조건>";
const deleteResult = await connectDB(deleteQuery); // table의 데이터를 삭제한다.

Element.insertAdjacentHTML()

요소의 앞뒤 혹은 자식요소로 HTML을 추가한다.

element.insertAdjacentHTML(position, text);